1. Field of the Invention
In general, the present invention relates to a method, system and program product for imposing policy modification constraints. Specifically, the present invention provides a more effective way to control the modification of operational policies for computer infrastructures.
2. Related Art
As the use of computer infrastructures becomes more pervasive, there is a growing need to implement policies governing their operation/performance. For example, a given infrastructure might have a collection of servers, clients, databases, etc. In such a case, there is a need to ensure optimal operation of the computer infrastructure. For example, there might be a need to provide load balancing among the servers so that one server does not become overloaded. To this extent, a certain policy might require that workload be shifted to a second server when the CPU consumption of a first server reaches a certain threshold. In many cases, a typical policy has at least four attributes, namely, scope, precondition, decision and business value. The scope attribute generally specifies the intended target of the policy. That is, the scope specifies the element of the computer infrastructure (e.g., server, database, etc.) to which the policy is to be applied. The precondition attribute specifies when the policy is to be applied. For example, a policy might be applied when CPU consumption reaches a certain threshold, when recovery time for a system becomes too high, etc. The decision attribute specifies an action to be taken if the precondition occurs. For example, if the precondition attributes specifies a CPU consumption of 60% for a particular server, the decision attribute could require shifting workload to a different server when the 60% is reached or exceeded. Lastly, the business value attribute specifies a business value for the policy. This allows a priority to be determined when more than one policies are applicable.
Once a policy has been established, it can be implemented autonomically using one or more autonomic managers. However, one issue that arises with policies is the modification thereof. Specifically, there is often the need to modify a given policy in light of changes to the computer infrastructure. For example, one policy might state that a minimum of three servers needs to be operational within the infrastructure at all times. If the minimum number of operational servers is not met, the corrective action could be to reduce server recovery time from 10 minutes to 5 minutes. Accordingly, modification of the policy calling for the reduction in recovery time to 5 minutes is needed.
To date, policies are largely modified manually by an administrator or by autonomic managers controlling the system. Neither option is preferred since different administrators or autonomic managers could have a different knowledge of the true constraints of the infrastructure. Moreover, the administrators or autonomic managers would make such changes without full knowledge of valid ranges for the policy. For example, assume under the above scenario that a recovery time of less than 7.5 minutes is not feasible. The administrator would have to know this or risk further degradation of the system.
In view of the foregoing, there exists a need for a method, system and program product for imposing policy modification constraints. Specifically, a need exists for a system that allows policies to be associated with any modification constraints corresponding thereto.